package com.company.cloud.mall.modules.app.service;

import java.util.List;

import com.company.cloud.common.bean.LoginSimpleUserInfo;
import com.company.cloud.mall.constant.ShopConstant.PayConfirmWay;
import com.company.cloud.mall.modules.app.controller.req.PayResultReportParam;
import com.company.cloud.mall.modules.app.models.PayApplyModel;

public interface ShopOrderPayService {

	
	/**
	 * 第三方支付（单订单）
	 * */
	public PayApplyModel thirdPay(String sn ,String paymentChannel,String returnUrl,LoginSimpleUserInfo userInfo);
	/**
	 * 第三方支付（多订单）
	 * */
	public PayApplyModel thirdPay(List<String> sns ,String paymentChannel,String returnUrl,LoginSimpleUserInfo userInfo);
	/**
	 * 积分支付（单订单）
	 * */
	public void payByPoint(String sn ,LoginSimpleUserInfo userInfo);
	/**
	 * 积分支付（多订单）
	 * */
	public void payByPoint(List<String> sns ,LoginSimpleUserInfo userInfo);
	
	/**
	 * 支付结果上报
	 * */
	public void payReport(PayResultReportParam params,PayConfirmWay confirmChannel,LoginSimpleUserInfo userInfo);
	/**
	 * 检查支付结果任务
	 * */
	public void payResultTask(String orderSn, LoginSimpleUserInfo userInfo);
	
}
